package com.example.wisdomclassroomapi.common.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 异常信息枚举<br/>
 *
 * 错误码为6为数字格式的字符串，前两位表示模块，中间两位表示模块中的功能，后两位表示该模块功能中的具体异常<br/>\
 *
 * 70* - 权限模块异常
 * 7000* - 运营用户模块异常
 * 7001* - 运营角色模块异常
 * 7002* - 运营权限模块异常
 * 7004* - 运营菜单模块异常
 *
 * 99 - 99开头的是系统异常，所谓系统异常是与具体业务逻辑无关的异常
 */
@Getter
@RequiredArgsConstructor
public enum ExceptionInfoEnum {
    SUCCESS("000000", "成功"),

    BAD_VERIFY_CODE("403201", "验证码错误"),
    VERIFY_CODE_IS_BLANK("403202","验证码为空"),

    AM_USER_USERNAME_OR_PASSWORD_ERROR("700001", "用户名或密码错误"),
    AM_USER_LOGIN_VERIFICATION_CODE_EXPIRE("700002", "验证码已过期"),
    AM_USER_LOGIN_VERIFICATION_CODE_ERROR("700003", "验证码错误"),
    AM_USER_LOGIN_EXPIRE("700004", "登录失效"),
    AM_USER_FAIL_TO_AUTHENTICATE("700005", "认证失败"),
    AM_USER_USERNAME_EXIST("700106", "用户名已存在"),


    // 99开头的是系统异常，所谓系统异常是与具体业务逻辑无关的异常
    JSON_PROCESSING_EXCEPTION("999997", "JSON处理异常"),
    PARAMETER_VALIDATE_EXCEPTION("999998", "参数校验异常"),
    SYSTEM_EXCEPTION("999999", "系统繁忙，请稍候再试！"),

    ;



    /**
     * 错误码
     */
    private final String code;

    /**
     * 错误信息
     */
    private final String message;
}
